package com.joysuch.wwyt.patrol.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.joysuch.wwyt.core.exception.ApiBusinessException;
import com.joysuch.wwyt.patrol.entity.PatrolDataType;
import com.baomidou.mybatisplus.extension.service.IService;
import com.joysuch.wwyt.patrol.entity.bean.ExcelItemBean;
import com.joysuch.wwyt.patrol.entity.bean.PatrolDataTypeSearchBean;
import com.joysuch.wwyt.patrol.entity.bean.PatrolOptionSearchBean;
import com.joysuch.wwyt.patrol.entity.bean.SimpleListDataType;
import com.joysuch.wwyt.patrol.entity.dto.PatrolDataTypeDto;
import com.joysuch.wwyt.patrol.entity.dto.PatrolOptionDto;
import com.joysuch.wwyt.patrol.entity.vo.PatrolDataTypeVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lrf
 * @since 2022-03-01
 */
public interface PatrolDataTypeService extends IService<PatrolDataType> {

    /**
     * 查询数据类型列表
     *
     * @return 数据类型
     */
    Page<PatrolDataTypeDto> findDataTypePageList(PatrolDataTypeSearchBean dataTypeSearchBean);

    /**
     * 保存数据类型列表
     *
     * @return 数据类型
     */
    boolean saveDataType(PatrolDataTypeVo dataTypeVo) throws ApiBusinessException;

    /**
     * 删除数据类型列表
     *
     * @return 数据类型
     */
    int deleteDataTypeId(Long id) throws ApiBusinessException;

    /**
     * 删除数据类型列表
     *
     * @return 数据类型
     */
    Page<PatrolOptionDto> findOptionPage(PatrolOptionSearchBean dataTypeSearchBean);

    /**
     * 获取下拉列表
     * @return
     */
    List<SimpleListDataType> getSimpleList();

    List<SimpleListDataType> getSimpleListShocks();

    List<SimpleListDataType> getSimpleListShock();

    /**
     * 根据数据类型id查询选项
     * @param dataTypeId
     * @return
     */
    List<String> findOptionByTypeId(Long dataTypeId);
    
    List<ExcelItemBean> getExcelItemList();
}
